[INFO] cloning repository https://github.com/blitzcode/rust-exp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/blitzcode/rust-exp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblitzcode%2Frust-exp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblitzcode%2Frust-exp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2d380104ebbc1c0c1167f07f93dd9e9b3ed32472
[INFO] checking blitzcode/rust-exp against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblitzcode%2Frust-exp" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/blitzcode/rust-exp on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/blitzcode/rust-exp
[INFO] finished tweaking git repo https://github.com/blitzcode/rust-exp
[INFO] tweaked toml for git repo https://github.com/blitzcode/rust-exp written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/blitzcode/rust-exp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-5/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] abfae90cc112cae3c100300e789624f283434d6f59e62f98c4c1405913d8793e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "abfae90cc112cae3c100300e789624f283434d6f59e62f98c4c1405913d8793e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "abfae90cc112cae3c100300e789624f283434d6f59e62f98c4c1405913d8793e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abfae90cc112cae3c100300e789624f283434d6f59e62f98c4c1405913d8793e", kill_on_drop: false }`
[INFO] [stdout] abfae90cc112cae3c100300e789624f283434d6f59e62f98c4c1405913d8793e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa989de2e92057b5ae82d2fe12550c68e19a1698371dcbee02906e6ac00803d7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "aa989de2e92057b5ae82d2fe12550c68e19a1698371dcbee02906e6ac00803d7", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling standback v0.2.10
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]    Compiling stb_image v0.2.2
[INFO] [stderr]    Compiling time v0.2.19
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]     Checking matrixmultiply v0.2.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking simba v0.2.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking nalgebra v0.22.0
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]     Checking time-macros v0.1.0
[INFO] [stderr]     Checking rust_exp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `rand::distributions::IndependentSample`, `rand::distributions::Range`
[INFO] [stdout]  --> rs-src/nbody.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::{IndependentSample, Range};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^  ^^^^^ no `Range` in `distributions`
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           no `IndependentSample` in `distributions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `na::Diagonal`, `na::Inverse`, `na::Transpose`
[INFO] [stdout]  --> rs-src/rasterizer.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Norm, Diagonal, Inverse, Transpose};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |                |         |        |
[INFO] [stdout]   |                |         |        no `Transpose` in the root
[INFO] [stdout]   |                |         |        help: a similar name exists in the module: `Transform`
[INFO] [stdout]   |                |         no `Inverse` in the root
[INFO] [stdout]   |                no `Diagonal` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `rand::distributions::IndependentSample`, `rand::distributions::Range`
[INFO] [stdout]  --> rs-src/nbody.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::distributions::{IndependentSample, Range};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^  ^^^^^ no `Range` in `distributions`
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           no `IndependentSample` in `distributions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `na::Diagonal`, `na::Inverse`, `na::Transpose`
[INFO] [stdout]  --> rs-src/rasterizer.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Norm, Diagonal, Inverse, Transpose};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |                |         |        |
[INFO] [stdout]   |                |         |        no `Transpose` in the root
[INFO] [stdout]   |                |         |        help: a similar name exists in the module: `Transform`
[INFO] [stdout]   |                |         no `Inverse` in the root
[INFO] [stdout]   |                no `Diagonal` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     na::normalize(&na::cross(&(*v1 - *v0), &(*v2 - *v0)))
[INFO] [stdout]    |         ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |     na::normalize(&na::cross(&(*v1 - *v0), &(*v2 - *v0)))
[INFO] [stdout]    |                        ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |     *i - (*n * na::dot(n, i) * 2.0)
[INFO] [stdout]    |                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `to_homogeneous` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         scale * na::to_homogeneous(&transf)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 |     na::normalize(&match face {
[INFO] [stdout]     |         ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:837:35
[INFO] [stdout]     |
[INFO] [stdout] 837 |     let ldotn     = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:852:51
[INFO] [stdout]     |
[INFO] [stdout] 852 |         let ldotn =                 na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:853:51
[INFO] [stdout]     |
[INFO] [stdout] 853 |         let ldotr = fast_unit_pow16(na::clamp(na::dot(&l, &r), 0.0, 1.0));
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:858:51
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let ldotn =                 na::clamp(na::dot(&-l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:859:51
[INFO] [stdout]     |
[INFO] [stdout] 859 |         let ldotr = fast_unit_pow16(na::clamp(na::dot(&-l, &r), 0.0, 1.0));
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:903:41
[INFO] [stdout]     |
[INFO] [stdout] 903 |     let fresnel = fresnel_conductor(na::dot(&-eye, &n), 1.0, 1.1);
[INFO] [stdout]     |                                         ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:917:41
[INFO] [stdout]     |
[INFO] [stdout] 917 |     let fresnel = fresnel_conductor(na::dot(&-eye, &n), 1.0, 1.1);
[INFO] [stdout]     |                                         ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:989:32
[INFO] [stdout]     |
[INFO] [stdout] 989 |     let ldotn  = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1006:32
[INFO] [stdout]      |
[INFO] [stdout] 1006 |     let ldotn  = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]      |                                ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1024:35
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let w   = 1.0 - na::clamp(na::dot(&h, &eye), 0.0, 1.0);
[INFO] [stdout]      |                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `from_homogeneous` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1202:35
[INFO] [stdout]      |
[INFO] [stdout] 1202 |     let mesh_to_world_it_33 = na::from_homogeneous::<Matrix4<f32>, Matrix3<f32>>
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `to_homogeneous` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1208:56
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let world_h: Point4<f32> = mesh_to_world * na::to_homogeneous(&src.p);
[INFO] [stdout]      |                                                        ^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1237:21
[INFO] [stdout]      |
[INFO] [stdout] 1237 |     let zaxis = na::normalize(&(*eye - *at));
[INFO] [stdout]      |                     ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1238:21
[INFO] [stdout]      |
[INFO] [stdout] 1238 |     let xaxis = na::normalize(&na::cross(up, &zaxis));
[INFO] [stdout]      |                     ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1238:36
[INFO] [stdout]      |
[INFO] [stdout] 1238 |     let xaxis = na::normalize(&na::cross(up, &zaxis));
[INFO] [stdout]      |                                    ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1239:21
[INFO] [stdout]      |
[INFO] [stdout] 1239 |     let yaxis = na::cross(&zaxis, &xaxis);
[INFO] [stdout]      |                     ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1241:49
[INFO] [stdout]      |
[INFO] [stdout] 1241 |     Matrix4::new(xaxis.x, xaxis.y, xaxis.z, na::dot(&-eye.to_vector(), &xaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1242:49
[INFO] [stdout]      |
[INFO] [stdout] 1242 |                  yaxis.x, yaxis.y, yaxis.z, na::dot(&-eye.to_vector(), &yaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1243:49
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                  zaxis.x, zaxis.y, zaxis.z, na::dot(&-eye.to_vector(), &zaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     na::normalize(&na::cross(&(*v1 - *v0), &(*v2 - *v0)))
[INFO] [stdout]    |         ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |     na::normalize(&na::cross(&(*v1 - *v0), &(*v2 - *v0)))
[INFO] [stdout]    |                        ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> rs-src/rasterizer.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |     *i - (*n * na::dot(n, i) * 2.0)
[INFO] [stdout]    |                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `to_homogeneous` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         scale * na::to_homogeneous(&transf)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 |     na::normalize(&match face {
[INFO] [stdout]     |         ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:837:35
[INFO] [stdout]     |
[INFO] [stdout] 837 |     let ldotn     = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:852:51
[INFO] [stdout]     |
[INFO] [stdout] 852 |         let ldotn =                 na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:853:51
[INFO] [stdout]     |
[INFO] [stdout] 853 |         let ldotr = fast_unit_pow16(na::clamp(na::dot(&l, &r), 0.0, 1.0));
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:858:51
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let ldotn =                 na::clamp(na::dot(&-l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:859:51
[INFO] [stdout]     |
[INFO] [stdout] 859 |         let ldotr = fast_unit_pow16(na::clamp(na::dot(&-l, &r), 0.0, 1.0));
[INFO] [stdout]     |                                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:903:41
[INFO] [stdout]     |
[INFO] [stdout] 903 |     let fresnel = fresnel_conductor(na::dot(&-eye, &n), 1.0, 1.1);
[INFO] [stdout]     |                                         ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:917:41
[INFO] [stdout]     |
[INFO] [stdout] 917 |     let fresnel = fresnel_conductor(na::dot(&-eye, &n), 1.0, 1.1);
[INFO] [stdout]     |                                         ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> rs-src/rasterizer.rs:989:32
[INFO] [stdout]     |
[INFO] [stdout] 989 |     let ldotn  = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]     |                                ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1006:32
[INFO] [stdout]      |
[INFO] [stdout] 1006 |     let ldotn  = na::clamp(na::dot(&l, &n), 0.0, 1.0);
[INFO] [stdout]      |                                ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1024:35
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let w   = 1.0 - na::clamp(na::dot(&h, &eye), 0.0, 1.0);
[INFO] [stdout]      |                                   ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `from_homogeneous` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1202:35
[INFO] [stdout]      |
[INFO] [stdout] 1202 |     let mesh_to_world_it_33 = na::from_homogeneous::<Matrix4<f32>, Matrix3<f32>>
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `to_homogeneous` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1208:56
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let world_h: Point4<f32> = mesh_to_world * na::to_homogeneous(&src.p);
[INFO] [stdout]      |                                                        ^^^^^^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1237:21
[INFO] [stdout]      |
[INFO] [stdout] 1237 |     let zaxis = na::normalize(&(*eye - *at));
[INFO] [stdout]      |                     ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `normalize` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1238:21
[INFO] [stdout]      |
[INFO] [stdout] 1238 |     let xaxis = na::normalize(&na::cross(up, &zaxis));
[INFO] [stdout]      |                     ^^^^^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1238:36
[INFO] [stdout]      |
[INFO] [stdout] 1238 |     let xaxis = na::normalize(&na::cross(up, &zaxis));
[INFO] [stdout]      |                                    ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `cross` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1239:21
[INFO] [stdout]      |
[INFO] [stdout] 1239 |     let yaxis = na::cross(&zaxis, &xaxis);
[INFO] [stdout]      |                     ^^^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1241:49
[INFO] [stdout]      |
[INFO] [stdout] 1241 |     Matrix4::new(xaxis.x, xaxis.y, xaxis.z, na::dot(&-eye.to_vector(), &xaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1242:49
[INFO] [stdout]      |
[INFO] [stdout] 1242 |                  yaxis.x, yaxis.y, yaxis.z, na::dot(&-eye.to_vector(), &yaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1243:49
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                  zaxis.x, zaxis.y, zaxis.z, na::dot(&-eye.to_vector(), &zaxis),
[INFO] [stdout]      |                                                 ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> rs-src/rasterizer.rs:1791:34
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let benchmarks:[(&str, i64, &Fn() -> ()); 12] = [
[INFO] [stdout]      |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> rs-src/rasterizer.rs:1791:34
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let benchmarks:[(&str, i64, &Fn() -> ()); 12] = [
[INFO] [stdout]      |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]   --> rs-src/rasterizer.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use time::{PreciseTime};
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   Error::description(&why)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 | ...                   Error::description(&why)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:192:40
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   Error::description(&why),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:274:40
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   Error::description(&why),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1819:25
[INFO] [stdout]      |
[INFO] [stdout] 1819 |             let start = PreciseTime::now();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1821:23
[INFO] [stdout]      |
[INFO] [stdout] 1821 |             let end = PreciseTime::now();
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]   --> rs-src/rasterizer.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use time::{PreciseTime};
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   Error::description(&why)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 | ...                   Error::description(&why)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:192:40
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   Error::description(&why),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> rs-src/rasterizer.rs:274:40
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   Error::description(&why),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1819:25
[INFO] [stdout]      |
[INFO] [stdout] 1819 |             let start = PreciseTime::now();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `time::PreciseTime`: Use `Instant`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1821:23
[INFO] [stdout]      |
[INFO] [stdout] 1821 |             let end = PreciseTime::now();
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]   --> rs-src/gol.rs:78:32
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 * new_grid_ptr.offset(idx as isize) =
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(tyvar_behind_raw_pointer)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]   --> rs-src/gol.rs:78:32
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 * new_grid_ptr.offset(idx as isize) =
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(tyvar_behind_raw_pointer)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{float}` to `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout]    --> rs-src/rasterizer.rs:831:20
[INFO] [stdout]     |
[INFO] [stdout] 831 |     (n.normalize() + 1.0) * 0.5
[INFO] [stdout]     |                    ^ no implementation for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>> + {float}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{float}>` is not implemented for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:836:43
[INFO] [stdout]     |
[INFO] [stdout] 836 |     let l         = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]     |                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:838:26
[INFO] [stdout]     |
[INFO] [stdout] 838 |     let occlusion = *col * *col;
[INFO] [stdout]     |                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:847:25
[INFO] [stdout]     |
[INFO] [stdout] 847 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:867:26
[INFO] [stdout]     |
[INFO] [stdout] 867 |     let occlusion = *col * *col;
[INFO] [stdout]     |                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:869:11
[INFO] [stdout]     |
[INFO] [stdout] 869 |     light * occlusion
[INFO] [stdout]     |           ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:880:42
[INFO] [stdout]     |
[INFO] [stdout] 880 |     lookup_dir_cm(&cm.cos_1, &n) * (*col * *col)
[INFO] [stdout]     |                                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:880:34
[INFO] [stdout]     |
[INFO] [stdout] 880 |     lookup_dir_cm(&cm.cos_1, &n) * (*col * *col)
[INFO] [stdout]     |                                  ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:886:27
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:894:13
[INFO] [stdout]     |
[INFO] [stdout] 894 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:894:5
[INFO] [stdout]     |
[INFO] [stdout] 894 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:900:29
[INFO] [stdout]     |
[INFO] [stdout] 900 |     let eye     = *p - *eye.as_vector();
[INFO] [stdout]     |                             ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:909:13
[INFO] [stdout]     |
[INFO] [stdout] 909 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:909:5
[INFO] [stdout]     |
[INFO] [stdout] 909 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:915:25
[INFO] [stdout]     |
[INFO] [stdout] 915 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout]    --> rs-src/rasterizer.rs:919:35
[INFO] [stdout]     |
[INFO] [stdout] 919 |     (lookup_dir_cm(&cm.cos_1, &n) + fresnel * 0.75) * *col
[INFO] [stdout]     |                                   ^ no implementation for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>> + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:925:25
[INFO] [stdout]     |
[INFO] [stdout] 925 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:931:13
[INFO] [stdout]     |
[INFO] [stdout] 931 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:931:5
[INFO] [stdout]     |
[INFO] [stdout] 931 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:937:25
[INFO] [stdout]     |
[INFO] [stdout] 937 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:941:66
[INFO] [stdout]     |
[INFO] [stdout] 941 |     + lookup_dir_cm(&cm.cos_64, &r) * normalize_phong_lobe(64.0) * Vector3::new(0.2, 0.8, 0.2)
[INFO] [stdout]     |                                                                  ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:943:13
[INFO] [stdout]     |
[INFO] [stdout] 943 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:943:5
[INFO] [stdout]     |
[INFO] [stdout] 943 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:949:25
[INFO] [stdout]     |
[INFO] [stdout] 949 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:952:38
[INFO] [stdout]     |
[INFO] [stdout] 952 |     ( lookup_dir_cm(&cm.cos_1  , &n) * Vector3::new(0.8, 0.2, 0.2)
[INFO] [stdout]     |                                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:955:13
[INFO] [stdout]     |
[INFO] [stdout] 955 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:955:5
[INFO] [stdout]     |
[INFO] [stdout] 955 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:961:27
[INFO] [stdout]     |
[INFO] [stdout] 961 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:968:5
[INFO] [stdout]     |
[INFO] [stdout] 968 |     * (*col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:974:27
[INFO] [stdout]     |
[INFO] [stdout] 974 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:982:5
[INFO] [stdout]     |
[INFO] [stdout] 982 |     * (*col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:988:40
[INFO] [stdout]     |
[INFO] [stdout] 988 |     let l      = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]     |                                        ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:990:28
[INFO] [stdout]     |
[INFO] [stdout] 990 |     let eye    = *p - *eye.as_vector();
[INFO] [stdout]     |                            ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:5
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:22
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:14
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |              ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1005:40
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     let l      = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]      |                                        ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1007:28
[INFO] [stdout]      |
[INFO] [stdout] 1007 |     let eye    = *p - *eye.as_vector();
[INFO] [stdout]      |                            ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1011:43
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     ( lookup_dir_cm  (&cm.cos_1  ,  &n)   * Vector3::new(0.2, 0.2, 0.8) * ldotn
[INFO] [stdout]      |                                           ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1015:13
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     * (*col * *col)
[INFO] [stdout]      |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1015:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     * (*col * *col)
[INFO] [stdout]      |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1021:25
[INFO] [stdout]      |
[INFO] [stdout] 1021 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]      |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1027:38
[INFO] [stdout]      |
[INFO] [stdout] 1027 |     (  lookup_dir_cm(&cm.cos_1 , &n) * V3F::new(0.8, 0.65, 1.0) * w
[INFO] [stdout]      |                                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1030:13
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     * (*col * *col)
[INFO] [stdout]      |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1030:5
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     * (*col * *col)
[INFO] [stdout]      |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `inverse` found for struct `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1203:51
[INFO] [stdout]      |
[INFO] [stdout] 1203 | ...                   (&mesh_to_world.inverse().unwrap().transpose());
[INFO] [stdout]      |                                       ^^^^^^^ method not found in `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{float}` to `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout]    --> rs-src/rasterizer.rs:831:20
[INFO] [stdout]     |
[INFO] [stdout] 831 |     (n.normalize() + 1.0) * 0.5
[INFO] [stdout]     |                    ^ no implementation for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>> + {float}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{float}>` is not implemented for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:836:43
[INFO] [stdout]     |
[INFO] [stdout] 836 |     let l         = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]     |                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:838:26
[INFO] [stdout]     |
[INFO] [stdout] 838 |     let occlusion = *col * *col;
[INFO] [stdout]     |                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:847:25
[INFO] [stdout]     |
[INFO] [stdout] 847 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:867:26
[INFO] [stdout]     |
[INFO] [stdout] 867 |     let occlusion = *col * *col;
[INFO] [stdout]     |                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:869:11
[INFO] [stdout]     |
[INFO] [stdout] 869 |     light * occlusion
[INFO] [stdout]     |           ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:880:42
[INFO] [stdout]     |
[INFO] [stdout] 880 |     lookup_dir_cm(&cm.cos_1, &n) * (*col * *col)
[INFO] [stdout]     |                                          ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:880:34
[INFO] [stdout]     |
[INFO] [stdout] 880 |     lookup_dir_cm(&cm.cos_1, &n) * (*col * *col)
[INFO] [stdout]     |                                  ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:886:27
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:894:13
[INFO] [stdout]     |
[INFO] [stdout] 894 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:894:5
[INFO] [stdout]     |
[INFO] [stdout] 894 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:900:29
[INFO] [stdout]     |
[INFO] [stdout] 900 |     let eye     = *p - *eye.as_vector();
[INFO] [stdout]     |                             ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:909:13
[INFO] [stdout]     |
[INFO] [stdout] 909 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:909:5
[INFO] [stdout]     |
[INFO] [stdout] 909 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:915:25
[INFO] [stdout]     |
[INFO] [stdout] 915 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout]    --> rs-src/rasterizer.rs:919:35
[INFO] [stdout]     |
[INFO] [stdout] 919 |     (lookup_dir_cm(&cm.cos_1, &n) + fresnel * 0.75) * *col
[INFO] [stdout]     |                                   ^ no implementation for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>> + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:925:25
[INFO] [stdout]     |
[INFO] [stdout] 925 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:931:13
[INFO] [stdout]     |
[INFO] [stdout] 931 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:931:5
[INFO] [stdout]     |
[INFO] [stdout] 931 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:937:25
[INFO] [stdout]     |
[INFO] [stdout] 937 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:941:66
[INFO] [stdout]     |
[INFO] [stdout] 941 |     + lookup_dir_cm(&cm.cos_64, &r) * normalize_phong_lobe(64.0) * Vector3::new(0.2, 0.8, 0.2)
[INFO] [stdout]     |                                                                  ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:943:13
[INFO] [stdout]     |
[INFO] [stdout] 943 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:943:5
[INFO] [stdout]     |
[INFO] [stdout] 943 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:949:25
[INFO] [stdout]     |
[INFO] [stdout] 949 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]     |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:952:38
[INFO] [stdout]     |
[INFO] [stdout] 952 |     ( lookup_dir_cm(&cm.cos_1  , &n) * Vector3::new(0.8, 0.2, 0.2)
[INFO] [stdout]     |                                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:955:13
[INFO] [stdout]     |
[INFO] [stdout] 955 |     * (*col * *col)
[INFO] [stdout]     |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:955:5
[INFO] [stdout]     |
[INFO] [stdout] 955 |     * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:961:27
[INFO] [stdout]     |
[INFO] [stdout] 961 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:968:5
[INFO] [stdout]     |
[INFO] [stdout] 968 |     * (*col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:974:27
[INFO] [stdout]     |
[INFO] [stdout] 974 |     let eye   = *p - *eye.as_vector();
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:982:5
[INFO] [stdout]     |
[INFO] [stdout] 982 |     * (*col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:988:40
[INFO] [stdout]     |
[INFO] [stdout] 988 |     let l      = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]     |                                        ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]    --> rs-src/rasterizer.rs:990:28
[INFO] [stdout]     |
[INFO] [stdout] 990 |     let eye    = *p - *eye.as_vector();
[INFO] [stdout]     |                            ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:5
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:22
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]    --> rs-src/rasterizer.rs:999:14
[INFO] [stdout]     |
[INFO] [stdout] 999 |     * albedo * (*col * *col)
[INFO] [stdout]     |              ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]               <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]               <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1005:40
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     let l      = fast_normalize(&(*eye.as_vector() - *p));
[INFO] [stdout]      |                                        ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1007:28
[INFO] [stdout]      |
[INFO] [stdout] 1007 |     let eye    = *p - *eye.as_vector();
[INFO] [stdout]      |                            ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1011:43
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     ( lookup_dir_cm  (&cm.cos_1  ,  &n)   * Vector3::new(0.2, 0.2, 0.8) * ldotn
[INFO] [stdout]      |                                           ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1015:13
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     * (*col * *col)
[INFO] [stdout]      |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1015:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     * (*col * *col)
[INFO] [stdout]      |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1021:25
[INFO] [stdout]      |
[INFO] [stdout] 1021 |     let eye = *p - *eye.as_vector();
[INFO] [stdout]      |                         ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1027:38
[INFO] [stdout]      |
[INFO] [stdout] 1027 |     (  lookup_dir_cm(&cm.cos_1 , &n) * V3F::new(0.8, 0.65, 1.0) * w
[INFO] [stdout]      |                                      ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1030:13
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     * (*col * *col)
[INFO] [stdout]      |             ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ShapeConstraint: DimEq<U1, U3>` is not satisfied
[INFO] [stdout]     --> rs-src/rasterizer.rs:1030:5
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     * (*col * *col)
[INFO] [stdout]      |     ^ the trait `DimEq<U1, U3>` is not implemented for `ShapeConstraint`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following implementations were found:
[INFO] [stdout]                <ShapeConstraint as DimEq<D, D>>
[INFO] [stdout]                <ShapeConstraint as DimEq<D, Dynamic>>
[INFO] [stdout]                <ShapeConstraint as DimEq<Dynamic, D>>
[INFO] [stdout]      = note: required because of the requirements on the impl of `AreMultipliable<U3, U1, U3, U1>` for `ShapeConstraint`
[INFO] [stdout]      = note: required because of the requirements on the impl of `Mul` for `Matrix<f32, U3, U1, ArrayStorage<f32, U3, U1>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `inverse` found for struct `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1203:51
[INFO] [stdout]      |
[INFO] [stdout] 1203 | ...                   (&mesh_to_world.inverse().unwrap().transpose());
[INFO] [stdout]      |                                       ^^^^^^^ method not found in `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> rs-src/rasterizer.rs:1208:36
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let world_h: Point4<f32> = mesh_to_world * na::to_homogeneous(&src.p);
[INFO] [stdout]      |                      -----------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Point`, found struct `Matrix`
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      expected due to this
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `Point<f32, U4>`
[INFO] [stdout]                 found struct `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1241:59
[INFO] [stdout]      |
[INFO] [stdout] 1241 |     Matrix4::new(xaxis.x, xaxis.y, xaxis.z, na::dot(&-eye.to_vector(), &xaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1242:59
[INFO] [stdout]      |
[INFO] [stdout] 1242 |                  yaxis.x, yaxis.y, yaxis.z, na::dot(&-eye.to_vector(), &yaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1243:59
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                  zaxis.x, zaxis.y, zaxis.z, na::dot(&-eye.to_vector(), &zaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `time::Instant::to`: Use `rhs - lhs`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1824:53
[INFO] [stdout]      |
[INFO] [stdout] 1824 |             timings[i] = cmp::min(timings[i], start.to(end).num_microseconds().unwrap());
[INFO] [stdout]      |                                                     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `time::Duration::num_microseconds`: Use the `whole_microseconds` function
[INFO] [stdout]     --> rs-src/rasterizer.rs:1824:61
[INFO] [stdout]      |
[INFO] [stdout] 1824 |             timings[i] = cmp::min(timings[i], start.to(end).num_microseconds().unwrap());
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Norm`
[INFO] [stdout]  --> rs-src/rasterizer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Norm, Diagonal, Inverse, Transpose};
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 76 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_exp`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> rs-src/rasterizer.rs:1208:36
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         let world_h: Point4<f32> = mesh_to_world * na::to_homogeneous(&src.p);
[INFO] [stdout]      |                      -----------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Point`, found struct `Matrix`
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      expected due to this
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `Point<f32, U4>`
[INFO] [stdout]                 found struct `Matrix<f32, U4, U4, ArrayStorage<f32, U4, U4>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1241:59
[INFO] [stdout]      |
[INFO] [stdout] 1241 |     Matrix4::new(xaxis.x, xaxis.y, xaxis.z, na::dot(&-eye.to_vector(), &xaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1242:59
[INFO] [stdout]      |
[INFO] [stdout] 1242 |                  yaxis.x, yaxis.y, yaxis.z, na::dot(&-eye.to_vector(), &yaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vector` found for reference `&Point<f32, U3>` in the current scope
[INFO] [stdout]     --> rs-src/rasterizer.rs:1243:59
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                  zaxis.x, zaxis.y, zaxis.z, na::dot(&-eye.to_vector(), &zaxis),
[INFO] [stdout]      |                                                           ^^^^^^^^^ method not found in `&Point<f32, U3>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `time::Instant::to`: Use `rhs - lhs`
[INFO] [stdout]     --> rs-src/rasterizer.rs:1824:53
[INFO] [stdout]      |
[INFO] [stdout] 1824 |             timings[i] = cmp::min(timings[i], start.to(end).num_microseconds().unwrap());
[INFO] [stdout]      |                                                     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `time::Duration::num_microseconds`: Use the `whole_microseconds` function
[INFO] [stdout]     --> rs-src/rasterizer.rs:1824:61
[INFO] [stdout]      |
[INFO] [stdout] 1824 |             timings[i] = cmp::min(timings[i], start.to(end).num_microseconds().unwrap());
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Norm`
[INFO] [stdout]  --> rs-src/rasterizer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Norm, Diagonal, Inverse, Transpose};
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 76 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "aa989de2e92057b5ae82d2fe12550c68e19a1698371dcbee02906e6ac00803d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa989de2e92057b5ae82d2fe12550c68e19a1698371dcbee02906e6ac00803d7", kill_on_drop: false }`
[INFO] [stdout] aa989de2e92057b5ae82d2fe12550c68e19a1698371dcbee02906e6ac00803d7
